---
description: Unexpected Maker FeatherS2 ESP32-S2
---
# Unexpected Maker FeatherS2 ESP32-S2


ESP32-S2 based development board in a Feather format.


![Unexpected Maker FeatherS2 ESP32-S2 picture](https://microsoft.github.io/jacdac-docs/images/devices/unexpected-maker/feathers2esp32s2v20.catalog.jpg)

## Features

-  I2C on SDA/SCL using Qwiic connector
-  LED on pin 40  (use [setStatusLight](/developer/status-light) to control)
-  Serial logging on pin TX_D1 at 115200 8N1

{@import optional ./feather-s2-features.mdp}

-  Service: buttonBOOT (button)
-  Service: ambientLight (analog:lightLevel)

{@import optional ./feather-s2-services.mdp}


## Stores

-  [https://unexpectedmaker.com/shop/feathers2-esp32-s2](https://unexpectedmaker.com/shop/feathers2-esp32-s2)

## Pins

| pin name | hardware id | features |
|:---------|:------------|---------:|
| **P17** |  GPIO17 |  analogOut,  io |
| **P18** |  GPIO18 |  analogOut,  io |
| **P14** |  GPIO14 |  io |
| **P12** |  GPIO12 |  io |
| **P6** |  GPIO6 |  analogIn,  io |
| **P5** |  GPIO5 |  analogIn,  io |
| **P3** |  GPIO3 |  analogIn,  io |
| **P7** |  GPIO7 |  analogIn,  io |
| **P10** |  GPIO10 |  analogIn,  io |
| **P11** |  GPIO11 |  io |
| **P33** |  GPIO33 |  io |
| **P38** |  GPIO38 |  io |
| **P1** |  GPIO1 |  analogIn,  io |
| **LED0** |  GPIO13 |  io |
| **LED_PWR** |  GPIO21 |  io |
| **SDI** |  GPIO37 |  io |
| **SDO** |  GPIO35 |  io |
| **RX_D0** |  GPIO44 |  io |
| **SCK** |  GPIO36 |  io |
| **SCL** |  GPIO9 |  i2c.pinSCL,  analogIn,  io |
| **SDA** |  GPIO8 |  i2c.pinSDA,  analogIn,  io |
| **TX_D1** |  GPIO43 |  log.pinTX,  io |
| **$services.buttonBOOT[0].pin** |  GPIO0 |  $services.buttonBOOT[0].pin,  boot,  io |
| **$services.ambientLight[1].pin** |  GPIO4 |  $services.ambientLight[1].pin,  analogIn,  io |
| **led.pin** |  GPIO40 |  led.pin,  debug,  io |
| **led.pinCLK** |  GPIO45 |  led.pinCLK,  boot,  io |



## DeviceScript import


You must add this import statement to load 
the pinout configuration for this device.

In [Visual Studio Code](/getting-started/vscode),
click the **wand** icon on the file menu and 
select "Unexpected Maker FeatherS2 ESP32-S2".

```ts
import { pins, board } from "@dsboard/feather_s2"
```

{@import optional ./feather-s2-examples.mdp}

## Firmware update

In Visual Studio Code,
select **DeviceScript: Flash Firmware...** from the command palette.
        
Run this [command line](/api/cli) command and follow the instructions.

```bash
devicescript flash --board feather_s2
```


- [Firmware](https://github.com/microsoft/devicescript-esp32/releases/latest/download/devicescript-esp32s2-feather_s2-0x1000.bin)

## Configuration

```json title="feather_s2.json"
{
    "$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
    "id": "feather_s2",
    "devName": "Unexpected Maker FeatherS2 ESP32-S2",
    "productId": "0x3126f707",
    "$description": "ESP32-S2 based development board in a Feather format.",
    "archId": "esp32s2",
    "url": "https://unexpectedmaker.com/shop/feathers2-esp32-s2",
    "$pins": {
        "P1": "D9",
        "P10": "D12",
        "P11": "D13",
        "P12": "A3",
        "P14": "A2",
        "P17": "A0",
        "P18": "A1",
        "P3": "D10",
        "P33": "D5",
        "P38": "D6",
        "P5": "A5_D25",
        "P6": "A4_D24",
        "P7": "D11",
        "SDI": "MISO",
        "SDO": "MOSI"
    },
    "$services": [
        {
            "name": "buttonBOOT",
            "pin": 0,
            "service": "button"
        },
        {
            "name": "ambientLight",
            "pin": 4,
            "service": "analog:lightLevel"
        }
    ],
    "i2c": {
        "$connector": "Qwiic",
        "pinSCL": "SCL",
        "pinSDA": "SDA"
    },
    "led": {
        "pin": 40,
        "pinCLK": 45,
        "type": 2
    },
    "log": {
        "pinTX": "TX_D1"
    },
    "pins": {
        "A0": 17,
        "A1": 18,
        "A2": 14,
        "A3": 12,
        "A4_D24": 6,
        "A5_D25": 5,
        "D10": 3,
        "D11": 7,
        "D12": 10,
        "D13": 11,
        "D5": 33,
        "D6": 38,
        "D9": 1,
        "LED0": 13,
        "LED_PWR": 21,
        "MISO": 37,
        "MOSI": 35,
        "RX_D0": 44,
        "SCK": 36,
        "SCL": 9,
        "SDA": 8,
        "TX_D1": 43
    },
    "sPin": {
        "LED_PWR": 1
    }
}
```
